package com.yonyou.pmclouds.workflow.service.rmiitf;

import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.billtype.entity.BillTypeVO;
import com.yonyou.pmclouds.workflow.entity.ProcessDataSynVO;
import com.yonyou.pmclouds.workflow.entity.ProcessDefinitionVO;

public interface ProcessDefinitionService {

    ProcessDefinitionVO insertProcessDefinitionModel(ProcessDefinitionVO definitionVO) throws BusinessException;

    ProcessDefinitionVO updateProcessStatus(ProcessDefinitionVO definitionVO) throws BusinessException;

    PageObject<ProcessDefinitionVO> queryProcessDefinition(String tenantId, String billType, int start,
                                                           int offset, String pkOrg) throws BusinessException;

    void deleteDefinition(ProcessDefinitionVO definitionVO) throws BusinessException;

    ProcessDefinitionVO updateDefinition(ProcessDefinitionVO definitionVO) throws BusinessException;

    String getDesignerUrl();

    BillTypeVO[] queryBillType(String tenantId) throws BusinessException;

    ProcessDataSynVO checkIsBaseDataSyn(String tenantId) throws BusinessException;

}
